package com.liufei.class03;

public class Code01_Swap {

    public static void main(String[] args) {
        int a = 2;
        int b = 3;

        System.out.println(a);
        System.out.println(b);

        a = a ^ b;
        b = a ^ b;
        a = a ^ b;

        System.out.println(a);
        System.out.println(b);

        int[] arr = {3,1,100};

        int i = 0;
        int j = 1;

        swap(arr, i , j);

        System.out.println(arr[i] + " , " + arr[j]);

    }


    // 注意这里的 i 和 j不能相等，如果相等，变化的都是同一个位置的数，结果都是0.所以使用之前需要保证 i 和 j不想等
    public static void swap (int[] arr, int i, int j) {
        // arr[0] = arr[0] ^ arr[0];
        arr[i]  = arr[i] ^ arr[j];
        arr[j]  = arr[i] ^ arr[j];
        arr[i]  = arr[i] ^ arr[j];
    }
}
